This invention relates to communication and other data transfer systems and to decoders therefor, and particularly to systems and decoders using soft decisions for decoding convolutional and block codes.
Communication and other data transfer systems employ error correction decoders to enhance the accuracy of the received information. In such systems the use of soft decision decoding of convolutional and block codes improves the error correction capability of a particular code. One technique of soft decision decoding is the optimum symbol-by-symbol decoding method disclosed in the article of C. R. P. Hartman, and L. D. Rudolph, entitled "An Optimum Symbol-by-Symbol Decoding Rule for Linear Codes," in the IEEE Transactions on Information Theory, IT-22, 514-517, September 1976. Another technique is a priori probabilistic (APP) decoding disclosed in the book "Threshold Decoding", by J. L. Massey, MIT Press 1963, Cambridge, Massachusetts.
The optimum symbol-by-symbol decoding technique uses soft decisions for decoding any block code whereas the APP decoding approach is suitable for threshold decodable codes, which may be block codes or convolutional codes. Threshold decodable codes are very helpful because of the simplicity of their implementations. However, the exact weight function needed to benefit from soft decisions in either the optimum symbol-by-symbol decoding operation or the exact APP decoding method is highly non-linear and very complex to implement when the block length or the constraint length is large. Hence it is practical to apply a simple approximation of the weight function that can give a good coding gain.
Previously known simple approximations of the weight function for soft decision decoding appear in the article of H. Tanaka, K. Furusawa, and S. Kaneku entitled "A Novel Approach to Soft Decision Decoding of Threshold Decodable Codes", IT-26, 244-246, March 1980. However, these fail to obtain the possible coding gain when the block code is long, i.e. has large block length, or if the constraint length of the convolutional code is long.